#include "stdafx.h"
#include "app.h"

namespace uiwin
{
	App* App::app_ = NULL;

	void App::Create(HINSTANCE instance, HINSTANCE , LPSTR lpCmdLine, int nShowCmd)
	{
		if (!app_)
			app_ = new App(instance, lpCmdLine, nShowCmd);
	}

	void App::Delete()
	{
		if (app_)
			delete app_;
		app_ = NULL;
	}

	App::App(HINSTANCE instance, LPSTR lpCmdLine, int nShowCmd)
		: instance_(instance)
	{
	}

	BOOL App::TranslateMessage(const MSG *lpMsg)
	{
		return FALSE;
	}

	void App::MessageLoop()
	{
		MSG msg = {0};

		while (::GetMessage(&msg, NULL, 0, 0))
		{
			if (!TranslateMessage(&msg))
			{
				::TranslateMessage(&msg);
				::DispatchMessage(&msg);
			}
		}
	}
}